1. Field of the Invention
The present invention relates a method of controlling a model.
2. Description of the Related Art
When designing a pose or animation by moving a CG character or the like, a skeleton model in which plural bones are connected by joints is used.
FIG. 1A is a view showing an example of such a skeleton model 100. The skeleton model 100 includes a first bone 110 (a parent bone or a parent node), a second bone 112 (a child bone or a child node) connected to the first bone 110 via a joint 114, for example.
The skeleton model 100 can be expressed by nodes connected in a parent-child relationship as shown in FIG. 1A. The bone is a line segment connecting the origins of the nodes in the parent-child relationship, or the node itself.
A status of rotation of the joint 114 (bending, torsion) can be expressed by a direction of the second bone 112 (child node) with respect to the first bone 110 (parent node). In order to express the direction of the node, a coordinate system is defined for each of the nodes.
Such a skeleton model may be used not only in a virtual space but also in a real space for controlling a target such as a robot or the like. For such a skeleton model which is used when controlling a posture (pose, movement or the like) of a human body model, an animal model, a fabric or the like on a three dimension (3D) virtual space or a real space, it is necessary to control a position, an angle, rotation (bending, torsion) or the like of each of the bones and joints to not be unnatural. As shown in FIG. 1A, in the skeleton model 100, the bones are connected by the joints so that the movement of each of the bones influences the movement of another bone.
For example, the skeleton model 100 shown in FIG. 1A is a skeleton model of a human body. Thus, there should be a limitation in the movement of an arm with respect to an elbow. If the skeleton model 100 takes a pose in which the arm of the skeleton model 100 is bent with an angle beyond this limitation, the skeleton model 100 becomes unnatural far from an actual human body. Thus, in order to form a skeleton model which takes a natural pose like a human body, it is necessary to set a certain limitation to the movement of a bone corresponding to an arm with respect to a joint corresponding to an elbow.
Patent Document 1 discloses a skeleton model in which a direction of a child bone with respect to a parent bone is expressed by rotation angles around three axes (x, y, z), respectively, in a coordinate system of the parent bone.
In Patent Document 2, a technique is disclosed in which a predetermined point on a spherical surface having a joint as a center is set as a focal point, a surface which is perpendicular to an axis connecting the center and the focal point is set as a projecting surface, and the movable range of the joint is set on the projecting surface.
In Patent Document 3 and Patent Document 4, a technique is disclosed in which a direction of a child bone with respect to a parent bone is corrected, when the direction of the child bone is not within a predetermined movable range, in order to satisfy the condition corresponding to the movable range.
In Patent Document 5, a technique is disclosed in which a calculated amount is reduced by using a monopolar coordinate system when moving a revolute skeleton model at real-time.
In Patent Document 6, a technique is disclosed in which hardness in bending joints of a revolute model is controlled.
However, according to the techniques disclosed in Patent Document 1 to Patent Document 6, when a new skeleton model is generated, it is necessary to set an angle limitation or hardness in bending for each of the joints. This setting is troublesome for users. Further, in order to set the angle limitation or hardness in bending to have the new skeleton model to take a real moving pose, knowledge and experience are required.